<?php
define('Acan_Afun_pages',1);
/*
分页函数 apage V1.0
最后修改于2010年2月1日
abans.cn
abans@qq.com


$a_counts	总数
$a_theurl	url
$a_start	当前页码
$a_page		每页数量
$a_by		排序 字段
$a_order	排序 方法
$a_other	附带参数
$arr		数组
Aclass_
Afun_
*/

function Afun_pages($a_counts,$pages,$a_theurl,$order,$a_other,$arr=null){


//---页码
	$arr_page = explode('-',$pages);
	$a_start=$arr_page[0];//当前页
	$a_page=$arr_page[1];//每页个数
	if(empty($a_page)){
		$ifarr['if_page'] = '0';
		if($arr['page']){
			$a_page = $arr['page'];//默认页数
		}else{
			$a_page = 12;//默认页数
		}
	}else{
		$ifarr['if_page'] = "1";
	}
	if(empty($a_start)){
		$a_start = 1;//默认开始页
	}
//---排序
	$arr_order = explode('-',$order);
	$a_by=$arr_order[0];//当前页
	$a_order=$arr_order[1];//每页个数
	if(empty($a_by)){
		$ifarr['if_by'] = '0';
		if(empty($arr['by'])){
			$a_by = 'id';//默认排序字段
		}else{
			$a_by = $arr['by'];//默认排序字段
		}
	}else{
		$ifarr['if_by'] = '1';
	}
	
	if($a_order == "DESC"){
		$neworder = "ASC";
	}else{
		$neworder = "DESC";
	}
	
	if(!empty($arr['order'])){
		$neworder = $arr['order'];//默认排序
	}
	if(empty($a_order)){
		$ifarr['if_order'] = '0';
		$a_order = "DESC";//默认排序
	}else{
		$ifarr['if_order'] = '1';
	}


	$acanpage['limit'] = ($a_start-1)*$a_page.",".$a_page;
	$acanpage['by'] = $a_by;
	$acanpage['order'] = $neworder;

	if($ifarr['if_page'] == '0'){
		//$a_page = null;
	}
	if($ifarr['if_by'] == '0'){
		$a_by = null;
		$a_order = null;
	}
	if($ifarr['if_order'] == '0'){
		$a_order = null;
	}

	$acanpage['html'] = Afun_page($a_counts,$a_start,$a_page,$a_theurl,$a_by,$a_order,$a_other,$ifarr);
	
	
	return $acanpage;
}



function Afun_page($a_counts,$a_start,$a_page,$a_theurl,$a_by,$a_order,$a_other,$ifarr){
	if($a_counts>$a_page){
		if($ifarr['if_by']=='1'){
			if($ifarr['if_order']=='1'){
				$and="/aorder/".$a_by."-".$a_order.$a_other;
			}else{
				$and="/aorder/".$a_by.$a_other;
			}
		}else{
			$and=$a_other;
		}
		if($ifarr['if_page'] == '1'){
			$andpage = '-'.$a_page;
		}else{
			$andpage = '';
		}
		$pagenum = floor(($a_counts-1)/$a_page);
		$pageup=$a_start-1;
		$pagedown=$a_start+1;
		$pageend=$pagenum+1;
	$apagehtml = '<style>.apage{width:auto; margin:0 auto;float:left;}
	.apage a{margin:0 3px 0 0;padding:2px 5px;color:#008000;background:none repeat scroll 0 0 #FCF9E6;border:1px solid #EBE6C9;text-decoration:none;}
	</style><div class="apage">';
		if($pagenum<9){
			$apagehtml .= "<a>".$a_counts."</a>";
			if($a_start>1){
				$apagehtml .= '<a href="'.$a_theurl.'/apage/'.$pageup.$andpage.$and.'"><-</a>';
			}else{
				$apagehtml .= '<a><-</a>';
			}
			$i=0;
			for($i;$i<$pagenum+1;$i++){
				$apagehtml .= '<a href="'.$a_theurl.'/apage/'.($i+1).$andpage.$and.'">';
				if($a_start==$i+1){$apagehtml .= '<b>';}
				$apagehtml .= $i+1;
				if($a_start==$i+1){$apagehtml .= '</b>';}
					$apagehtml .= '</a>';
			}
			if($a_start<$pageend){
				$apagehtml .= '<a href="'.$a_theurl.'/apage/'.$pagedown.$andpage.$and.'">-></a>';
			}else{
				$apagehtml .= "<a>-></a>";
			}
		}else if($pagenum>8){
		//	$apagehtml .= "<form action='' method='get'>";
			$apagehtml .= "<a>".$a_counts."</a>";
			if($a_start>=5){
				$apagehtml .= '<a href="'.$a_theurl.'/apage/1'.$andpage.$and.'">1 ...</a>';
			}
			if($a_start>1){
				$apagehtml .= '<a href="'.$a_theurl.'/apage/'.$pageup.$andpage.$and.'"><-</a>';
			}else{
				$apagehtml .= '<a><-</a>';
			}
			if($a_start<=4){
				$i=0;
				$iplus=$i+3;
				for($i;$i-2<$iplus;$i++){
					$apagehtml .= '<a href="'.$a_theurl.'/apage/'.($i+1).$andpage.$and.'">';
					if($a_start==$i+1){$apagehtml .= '<b>';}
						$apagehtml .= $i+1;
					if($a_start==$i+1){$apagehtml .= '</b>';}
					$apagehtml .= '</a>';
				}
			}else if($a_start>=5 && $a_start<($pagenum-2)){
				$i=$a_start-3;
				$iplus=$i+3;
				for($i;$i-2<$iplus;$i++){
					$apagehtml .= '<a href="'.$a_theurl.'/apage/'.($i+1).$andpage.$and.'">';
					if($a_start==$i+1){$apagehtml .= '<b>';}
					$apagehtml .= $i+1;
					if($a_start==$i+1){$apagehtml .= '</b>';}
					$apagehtml .= '</a>';
				}
			}else if($a_start>=($pagenum-2)){
				$i=$pagenum-4;
				$iplus=$pagenum-1;
				for($i;$i-2<$iplus;$i++){
					$apagehtml .= '<a href="'.$a_theurl.'/apage/'.($i+1).$andpage.$and.'">';
					if($a_start==$i+1){$apagehtml .= '<b>';}
					$apagehtml .= $i+1;
					if($a_start==$i+1){$apagehtml .= '</b>';}
					$apagehtml .= '</a>';
				}
			}
			if($a_start<$pageend){
				$apagehtml .= '<a href="'.$a_theurl.'/apage/'.$pagedown.$andpage.$and.'">-></a>';
			}else{
				$apagehtml .= "<a>-></a>";
			}
			if($pagenum>6 && $a_start<($pagenum-2)){
				$apagehtml .= '<a href="'.$a_theurl.'/apage/'.$pageend.$andpage.$and.'">... '.$pageend.'</a>';
			}
	//	$apagehtml .= "<input type='text' name='start' size='3' value=''>
	//		<input type='hidden' name='by' value='$by'>
	//		<input type='hidden' name='order' value='$order'>
	//		<input type='submit' value='GO'></form>";
		}
		$apagehtml .= '</div>';
	}
	return $apagehtml;
}
?>